home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
extras
/
programm
/
gemfsc19
/
gemfsc19.lzh
/
GEMFBIND
/
AESFSEL3.S
< prev
next >
Wrap
Text File
|
1993-03-26
|
3KB
|
72 lines
;*========================================================================
;*
;* AESFAST Public Domain GEM bindings.
;* Maintenance:
;* 04/07/89 v1.2: This source file is new with this version.
;* Also, the calculation of the location of the prompt on the
;* screen has been changed. It was placed one boxchar height
;* down on the screen, putting it right below the menu bar.
;* This didn't look too good on a big-monitor system, so now
;* it is calculated by centering the box, then subtracting a
;* fixed offset from the centered Y to make it appear right
;* above the fsel'er box. The offset is 9 character heights,
;* (plus 2 extra char heights for the prompt itself), less
;* 2 pixels (just to line everything up real neat).
;*========================================================================
;*************************************************************************
;*
;* Small extended fsel manager routine.
;* This version emulates the TOS 1.4 fsel_exinput only to the point of
;* putting up a prompt with the dialog.
;*
;*************************************************************************
;-------------------------------------------------------------------------
; fsel_smallexinput
;-------------------------------------------------------------------------
globl _fsel_smallexinput
_fsel_smallexinput:
; .cargs #8,pinpath.l,pinsel.l,pbutton.l,plabel.l
pinpath = 8
pinsel = 12
pbutton = 16
plabel = 20
link a6,#-4
move.w _gl_apversion,d0 ; Check the AES version. If
cmp.w #$0104,d0 ; it's $0104, we're running
beq.b smartaes ; on the RAM-based TOS 1.4,
cmp.w #$0130,d0 ; which is smart. If it's
bge.b smartaes ; $0130 or higher, it's smart.
bsr FselSimu ; Else go simulate the prompted
bra.b return ; selector, then return its values.
smartaes:
move.l plabel(a6),d0 ; Swap the button and prompt
move.l pbutton(a6),plabel(a6) ; string pointers to make the
move.l d0,pbutton(a6) ; addrin stuff contiguous.
move.l #$5B000203,d0 ; AControl 91,0,2,3
moveq.l #-4,d1 ; fsel_exinput is a legal function,
lea pinpath(a6),a0 ; do it. a0 -> addrin
jsr aes_call ; Call AES.
move.l plabel(a6),d0 ; Swap the prompt string and
move.l pbutton(a6),plabel(a6) ; button pointers back to how
move.l d0,pbutton(a6) ; they were on entry.
return:
move.l pbutton(a6),a1 ; Return the values from
move.w -2(a6),(a1) ; intout to the caller.
move.w -4(a6),d0
unlk a6
rts
; end of code